//箭头函数不会绑定this， arguments属性；  会去上层作用域中寻找this
// 尖头函数不可以作为构造器来使用

/**
 *
 */

// var nums = [1, 2, 3];
// nums.forEach(() => {
//   console.log(`this`, this);
// });

var name = "ziheng";

var foo = () => {
  console.log(`this`, this);
};
foo();

var obj = {
  foo: foo,
};
obj.foo();
foo.call("123456");

//应用场景

var obj = {
  data: [],
  getData: function () {
    //没有箭头函数的时候
    var _this = this;
    setTimeout(function () {
      console.log(_this.data);
    }, 1000);
  },
  printData: function () {
    //箭头函数会去上层作用域中寻找this
    setTimeout(() => {
      console.log(this.data);
    }, 1000);
  },
};
obj.getData();
obj.printData();
